#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
struct Node {
	ll x, y;
	bool operator < (Node &A) {
		if (x != A.x)
			return x < A.x;
		return y < A.y;
	}
} a[100001];
ll n, c[100001];

inline void quicksort(ll l, ll r) {
	if (l >= r)
		return;
	swap(a[l], a[l + rand() % (r - l + 1)]);
	Node x = a[l];
	ll i = l, j = r;
	while (i < j) {
		while (i < j && x < a[j])
			j--;
		if (i < j)
			a[i++] = a[j];
		while (i < j && a[i] < x)
			i++;
		if (i < j)
			a[j--] = a[i];
	}
	a[i] = x;
	quicksort(l, i - 1);
	quicksort(i + 1, r); 
}

int main() {
	scanf("%lld", &n);
	for (ll i = 1; i <= n; ++i) {
		scanf("%lld", &a[i].x);
		a[i].y = i;
	}
	quicksort(1, n);
	for (ll i = 1; i <= n; ++i)
		c[a[i].y] = i;
	for (ll i = 1; i <= n; ++i)
		printf("%lld ", c[i]);
	printf("\n");
	return 0;
}
